package April.seveteen;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

/*
嵌套集合：
并不是新知识 其实集合本身就是一个对象，而你在对象里面又可存储对象
 只演示一个最复杂的 Map中存储Map
 例如
    传智播客
        基础班  学号 名字
        就业班   学号 名字

        基础班可以看做一个Map集合 学号是键 名字是值
        传智播客也可以看做是一个Map集合 班的对象时键 班的名字可以是值
 */
public class MapMapDemo {
    public static void main(String[] args) {
        HashMap<Integer,String> jcb = new HashMap<Integer, String>();
        jcb.put(001,"张三");
        jcb.put(002,"李四");
        HashMap<Integer,String> jyb = new HashMap<Integer, String>();
        jyb.put(001,"王五");
        jyb.put(002,"张六");
//        定义传智播客 集合 存储上面两个集合
        HashMap<HashMap<Integer,String>,String> czbk =
                new HashMap<HashMap<Integer,String>,String>();
        czbk.put(jcb,"基础班");
        czbk.put(jyb,"基础班");
//        可以直接打印czbk
        System.out.println(czbk);
        funcyon_1( czbk);
   }
//   利用构造器进行遍历
        public static void funcyon_1( HashMap<HashMap<Integer,String>,String> czbk){
            Set<HashMap<Integer,String>> key = czbk.keySet();
            Iterator<HashMap<Integer,String>> it = key.iterator();
            while( it.hasNext()){
                HashMap<Integer,String> clas = it.next();
                String className1 = czbk.get(clas);
                System.out.println("班级为"+className1);
                Set<Integer> className = clas.keySet();
                Iterator<Integer> jn = className.iterator();
                while(jn.hasNext()){
                    Integer num = jn.next();
                    String name = clas.get(num);
                    System.out.println(num+"   "+name);
                }
            }


        }
}
